Skip to content

feat: #31 page optimize#34

Merged
nenrinyear merged 16 commits intodevelopfrom
feat/nenrin/#31-page-optimize
Feb 22, 2026
Merged

feat: #31 page optimize#34
nenrinyear merged 16 commits intodevelopfrom
feat/nenrin/#31-page-optimize

Conversation

@nenrinyear
Copy link
Copy Markdown
Contributor

@nenrinyear nenrinyear commented Feb 21, 2026

概要

  • /task-decomp を中心に、導線・UI・実行履歴・入力体験を改善し、トップページと /dashboard を含めた全体体験を整理しました。
  • 併せて、タスク細分化フローの日時/タイムゾーン処理をフロントエンド・バックエンド・Google Calendar 連携で統一しました。

変更内容

  • ルーティング/構成整理

  • ルートページと /task-decomp の役割分離、トップ導線の追加

  • /task-decomp のコンポーネント分割(helpers / step components)

  • /task-decomp UI/UX 改善

  • モバイルで冗長なカード構成を簡素化

  • Steps 表示、ステータス表示、履歴 Drawer 導線/レイアウトを改善

  • Google 認可説明文・実行処理説明の見直し

  • トップ/ダッシュボードへのナビゲーション追加

  • タスク入力のアカウント単位 autosave(localStorage)追加

  • カレンダー/履歴表示改善

  • Calendar 予定名に要約タイトル(summary)を優先利用

  • 履歴タイトル・結果表示の文言と情報設計を調整

  • タイムゾーン統一(最新)

  • backend でタイムゾーン正規化関数を追加し、validation / decomposition prompt / calendar sync で共通利用

  • frontend で表示時タイムゾーンを正規化し、履歴・結果・予定表示で一貫した基準に統一

  • ブラウザ検出タイムゾーンを送信時にも利用し、期限/表示のズレを低減

動作確認方法

  1. pnpm --dir frontend check
  2. pnpm --dir backend check
  3. /task-decomp でログイン後、タスク実行
  4. 結果画面のサブタスク期限・Calendar反映結果・履歴日時が同一タイムゾーン基準で表示されることを確認
  5. 画面遷移(トップ ↔ task-decomp ↔ dashboard)と履歴 Drawer の表示崩れがないことを確認

チェックリスト

  • 関連する挙動をローカルで確認しました。
  • テストを追加・更新した、または既存テストでこの変更がカバーされることを確認しました。
  • 破壊的変更の有無を確認しました。

関連 Issue

@nenrinyear nenrinyear self-assigned this Feb 21, 2026
@nenrinyear nenrinyear added enhancement New feature or request Backend (workers) labels Feb 21, 2026
@nenrinyear nenrinyear linked an issue Feb 21, 2026 that may be closed by this pull request
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 21, 2026

Preview URLs

@nenrinyear nenrinyear requested a review from Copilot February 21, 2026 23:25
@nenrinyear nenrinyear marked this pull request as ready for review February 21, 2026 23:26
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR successfully addresses Issue #31 by refactoring the monolithic 1100+ line root page into a modular, maintainable structure. The changes separate concerns between the landing page (/) and the task decomposition workflow (/task-decomp), while introducing unified timezone handling and user-scoped autosave functionality.

Changes:

  • Extracted task decomposition workflow from root page to /task-decomp with modular components (steps, helpers, types, constants)
  • Created a clean landing page that presents two workflow modes: design mode (task decomposition) and operation mode (dashboard)
  • Unified timezone normalization across frontend and backend with consistent fallback to "Asia/Tokyo"
  • Implemented per-user localStorage autosave for task drafts with proper cleanup on logout and error handling
  • Improved UI with Steps indicator, history Drawer, and enhanced status displays
  • Prioritized summary over goal for calendar event names and history titles for consistency

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
frontend/src/app/page.tsx Refactored from 1021 lines to 142 lines; now serves as a clean landing page with navigation to task-decomp and dashboard
frontend/src/app/task-decomp/page.tsx New dedicated page (738 lines) for task decomposition workflow with improved UX including Steps, Drawer, and autosave
frontend/src/app/task-decomp/types.ts Extracted type definitions for RunPhase, ErrorAction, ViewMode, and TransitionDirection
frontend/src/app/task-decomp/helpers.ts Extracted helper functions (269 lines) including timezone normalization, formatting, and status conversion
frontend/src/app/task-decomp/constants.ts Extracted constants including STEP_ITEMS, CALENDAR_REAUTH_MARKER, and DEFAULT_USER_TIMEZONE
frontend/src/app/task-decomp/components/task-decomp-steps.tsx Modular step components (485 lines) for AuthStep, ComposeStep, RunningStep, and ResultStep
backend/src/features/task-decompose/task-timezone.ts New utility for timezone normalization with IANA validation and fallback
backend/src/features/task-decompose/task-decompose.validation.ts Updated to use normalizeTaskTimezone, making timezone effectively non-optional after validation
backend/src/features/task-decompose/task-decompose.service.ts Updated to use normalizeTaskTimezone for consistent prompt generation
backend/src/features/task-decompose/task-calendar.service.ts Updated to use normalizeTaskTimezone and prioritize summary over goal for event names

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread backend/src/features/task-decompose/task-decompose.validation.ts
Comment thread frontend/src/app/task-decomp/components/task-decomp-steps.tsx
Comment thread frontend/src/app/task-decomp/components/task-decomp-steps.tsx Outdated
@nenrinyear nenrinyear merged commit 124a3ed into develop Feb 22, 2026
5 checks passed
@nenrinyear nenrinyear deleted the feat/nenrin/#31-page-optimize branch February 22, 2026 01:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] ルートページの整理・導線の考慮

3 participants